using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;

namespace Sustainalytics.Entities
{
    public class TemplateCriteria
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public string CriteriaEntity { get; set; }
        public string CriteriaEntityField { get; set; }
        public CriteriaTypeEnum CriteriaType { get; set; }
        public Guid CriteriaLevel2Id { get; set; }
        public Guid CriteriaLevel3Id { get; set; }
        public bool IsScreenable { get; set; }

        //Specify if data should be taken from parent or self in case that research parent exists.
        public bool HasOwnValue { get; set; }

        [BsonRepresentation(BsonType.String)]
        public List<ResearchProduct> ResearchProducts { get; set; }

        public bool HasFullRangeChart { get; set; }
        public int? Order { get; set; }
    }
}
